FILTERS=position.o radius.o duplicate.o arcdist.o polygon.o smplrout.o \
reverse_route.o sort.o stackfilter.o trackfilter.o discard.o \
- nukedata.o interpolate.o transform.o
+ nukedata.o interpolate.o transform.o height.o
JEEPS=jeeps/gpsapp.o jeeps/gpscom.o \
jeeps/gpsmath.o jeeps/gpsmem.o \
jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h
gtrnctr.o: gtrnctr.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h xmlgeneric.h
+height.o: height.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
+ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h filterdefs.h
hiketech.o: hiketech.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h xmlgeneric.h
holux.o: holux.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
# Increase GBBUILD for a new release
GBBUILD=16
# YYYYMMDD, please, if beta, i.e. "-beta20060413"
-PACKAGE_RELEASE="-beta20080514"
+PACKAGE_RELEASE="-beta20080807"
cat >>confdefs.h <<_ACEOF
#define PACKAGE_RELEASE "$PACKAGE_RELEASE"
# Increase GBBUILD for a new release
GBBUILD=16
# YYYYMMDD, please, if beta, i.e. "-beta20060413"
-PACKAGE_RELEASE="-beta20080514"
+PACKAGE_RELEASE="-beta20080807"
AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, "$PACKAGE_RELEASE", [Define to the release name of this package.])
AC_SUBST(PACKAGE_RELEASE)
extern filter_vecs_t nuke_vecs;
extern filter_vecs_t interpolatefilt_vecs;
extern filter_vecs_t transform_vecs;
+extern filter_vecs_t height_vecs;
static
fl_vecs_t filter_vec_list[] = {
"transform",
"Transform waypoints into a route, tracks into routes, ..."
},
+ {
+ &height_vecs,
+ "height",
+ "Manipulate altitudes"
+ },
+
#endif
{
NULL,
*
* Isn't simplification via automation grand?
*/
-#define VERSION "1.3.5-beta20080514"
+#define VERSION "1.3.5-beta20080807"
#define WEB_DOC_DIR "http://www.gpsbabel.org/htmldoc-development"
--- /dev/null
+/*
+ Copyright (C) 2008 Alexander Stapff, a.stapff@gmx.de
+
+ Geoid separation code by Oleg Gusev, from data by Peter Dana.
+ This code was published by the gpsd project (http://gpsd.berlios.de/)
+ under the BSD license.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
+
+ */
+
+#include "defs.h"
+#include "filterdefs.h"
+
+#define MYNAME "height"
+
+#if FILTERS_ENABLED
+static char *addopt = NULL;
+static char *wgs84tomslopt = NULL;
+static double addf;
+
+
+static
+arglist_t height_args[] = {
+ {"add", &addopt, "Adds a constant value to every altitude (meter, append \"f\" (x.xxf) for feet)",
+ NULL, ARGTYPE_BEGIN_REQ | ARGTYPE_FLOAT, ARG_NOMINMAX},
+ {"wgs84tomsl", &wgs84tomslopt, "Converts WGS84 ellipsoidal height to orthometric height (MSL)",
+ NULL, ARGTYPE_END_REQ | ARGTYPE_BOOL, ARG_NOMINMAX},
+ ARG_TERMINATOR
+};
+
+
+static double bilinear(double x1, double y1, double x2, double y2, double x, double y, double z11, double z12, double z21, double z22)
+{
+ double delta;
+
+ if (y1 == y2 && x1 == x2 ) return (z11);
+ if (y1 == y2 && x1 != x2 ) return (z22*(x-x1)+z11*(x2-x))/(x2-x1);
+ if (x1 == x2 && y1 != y2 ) return (z22*(y-y1)+z11*(y2-y))/(y2-y1);
+
+ delta=(y2-y1)*(x2-x1);
+
+ return (z22*(y-y1)*(x-x1)+z12*(y2-y)*(x-x1)+z21*(y-y1)*(x2-x)+z11*(y2-y)*(x2-x))/delta;
+}
+
+
+/* return geoid separation (MSL - WGS84) in meters, given a lat/lot in degrees */
+static double wgs84_separation(double lat, double lon)
+{
+#define GEOID_ROW 19
+#define GEOID_COL 37
+ static const char geoid_delta[GEOID_COL*GEOID_ROW]={
+ /* 90S */ -30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,
+ /* 80S */ -53,-54,-55,-52,-48,-42,-38,-38,-29,-26,-26,-24,-23,-21,-19,-16,-12, -8, -4, -1, 1, 4, 4, 6, 5, 4, 2, -6,-15,-24,-33,-40,-48,-50,-53,-52,-53,
+ /* 70S */ -61,-60,-61,-55,-49,-44,-38,-31,-25,-16, -6, 1, 4, 5, 4, 2, 6, 12, 16, 16, 17, 21, 20, 26, 26, 22, 16, 10, -1,-16,-29,-36,-46,-55,-54,-59,-61,
+ /* 60S */ -45,-43,-37,-32,-30,-26,-23,-22,-16,-10, -2, 10, 20, 20, 21, 24, 22, 17, 16, 19, 25, 30, 35, 35, 33, 30, 27, 10, -2,-14,-23,-30,-33,-29,-35,-43,-45,
+ /* 50S */ -15,-18,-18,-16,-17,-15,-10,-10, -8, -2, 6, 14, 13, 3, 3, 10, 20, 27, 25, 26, 34, 39, 45, 45, 38, 39, 28, 13, -1,-15,-22,-22,-18,-15,-14,-10,-15,
+ /* 40S */ 21, 6, 1, -7,-12,-12,-12,-10, -7, -1, 8, 23, 15, -2, -6, 6, 21, 24, 18, 26, 31, 33, 39, 41, 30, 24, 13, -2,-20,-32,-33,-27,-14, -2, 5, 20, 21,
+ /* 30S */ 46, 22, 5, -2, -8,-13,-10, -7, -4, 1, 9, 32, 16, 4, -8, 4, 12, 15, 22, 27, 34, 29, 14, 15, 15, 7, -9,-25,-37,-39,-23,-14, 15, 33, 34, 45, 46,
+ /* 20S */ 51, 27, 10, 0, -9,-11, -5, -2, -3, -1, 9, 35, 20, -5, -6, -5, 0, 13, 17, 23, 21, 8, -9,-10,-11,-20, -40,-47,-45,-25, 5, 23, 45, 58, 57, 63, 51,
+ /* 10S */ 36, 22, 11, 6, -1, -8,-10, -8,-11, -9, 1, 32, 4,-18,-13, -9, 4, 14, 12, 13, -2,-14,-25,-32,-38,-60, -75,-63,-26, 0, 35, 52, 68, 76, 64, 52, 36,
+ /* 00N */ 22, 16, 17, 13, 1,-12,-23,-20,-14, -3, 14, 10,-15,-27,-18, 3, 12, 20, 18, 12,-13, -9,-28,-49,-62,-89,-102,-63, -9, 33, 58, 73, 74, 63, 50, 32, 22,
+ /* 10N */ 13, 12, 11, 2,-11,-28,-38,-29,-10, 3, 1,-11,-41,-42,-16, 3, 17, 33, 22, 23, 2, -3, -7,-36,-59,-90, -95,-63,-24, 12, 53, 60, 58, 46, 36, 26, 13,
+ /* 20N */ 5, 10, 7, -7,-23,-39,-47,-34, -9,-10,-20,-45,-48,-32, -9, 17, 25, 31, 31, 26, 15, 6, 1,-29,-44,-61, -67,-59,-36,-11, 21, 39, 49, 39, 22, 10, 5,
+ /* 30N */ -7, -5, -8,-15,-28,-40,-42,-29,-22,-26,-32,-51,-40,-17, 17, 31, 34, 44, 36, 28, 29, 17, 12,-20,-15,-40, -33,-34,-34,-28, 7, 29, 43, 20, 4, -6, -7,
+ /* 40N */ -12,-10,-13,-20,-31,-34,-21,-16,-26,-34,-33,-35,-26, 2, 33, 59, 52, 51, 52, 48, 35, 40, 33, -9,-28,-39, -48,-59,-50,-28, 3, 23, 37, 18, -1,-11,-12,
+ /* 50N */ -8, 8, 8, 1,-11,-19,-16,-18,-22,-35,-40,-26,-12, 24, 45, 63, 62, 59, 47, 48, 42, 28, 12,-10,-19,-33, -43,-42,-43,-29, -2, 17, 23, 22, 6, 2, -8,
+ /* 60N */ 2, 9, 17, 10, 13, 1,-14,-30,-39,-46,-42,-21, 6, 29, 49, 65, 60, 57, 47, 41, 21, 18, 14, 7, -3,-22, -29,-32,-32,-26,-15, -2, 13, 17, 19, 6, 2,
+ /* 70N */ 2, 2, 1, -1, -3, -7,-14,-24,-27,-25,-19, 3, 24, 37, 47, 60, 61, 58, 51, 43, 29, 20, 12, 5, -2,-10, -14,-12,-10,-14,-12, -6, -2, 3, 6, 4, 2,
+ /* 80N */ 3, 1, -2, -3, -3, -3, -1, 3, 1, 5, 9, 11, 19, 27, 31, 34, 33, 34, 33, 34, 28, 23, 17, 13, 9, 4, 4, 1, -2, -2, 0, 2, 3, 2, 1, 1, 3,
+ /* 90N */ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13};
+ int ilat, ilon;
+ int ilat1, ilat2, ilon1, ilon2;
+
+ /* sanity checks to prevent segfault on bad data */
+ if ((lat > 90) || (lat < -90)) {
+ fatal(MYNAME ": Invalid latitude value (%f)\n", lat);
+ }
+ if (( lon > 180) || (lon < -180)) {
+ fatal(MYNAME ": Invalid longitude value (%f)\n", lon);;
+ }
+
+ ilat=(int)floor(( 90.+lat)/10);
+ ilon=(int)floor((180.+lon)/10);
+
+ ilat1=ilat;
+ ilon1=ilon;
+ ilat2=(ilat < GEOID_ROW-1)? ilat+1:ilat;
+ ilon2=(ilon < GEOID_COL-1)? ilon+1:ilon;
+
+ return bilinear(
+ ilon1*10.-180.,ilat1*10.-90.,
+ ilon2*10.-180.,ilat2*10.-90.,
+ lon, lat,
+ (double)geoid_delta[ilon1+ilat1*GEOID_COL],
+ (double)geoid_delta[ilon2+ilat1*GEOID_COL],
+ (double)geoid_delta[ilon1+ilat2*GEOID_COL],
+ (double)geoid_delta[ilon2+ilat2*GEOID_COL]
+ );
+}
+
+
+static void
+correct_height(const waypoint *wpt)
+{
+ waypoint *waypointp = (waypoint *) wpt;
+
+ if (addopt)
+ waypointp->altitude += addf;
+
+ if (wgs84tomslopt)
+ waypointp->altitude -= wgs84_separation(waypointp->latitude, waypointp->longitude);
+}
+
+
+static void
+height_init(const char *args)
+{
+ char *unit;
+
+ if (addopt) {
+ addf = strtod(addopt, &unit);
+
+ if (*unit == 'f' || *unit== 'F') {
+ addf = FEET_TO_METERS(addf);
+ }
+ else if ((*unit != 'm') && (*unit != 'M') && (*unit != '\0')) {
+ fatal(MYNAME ": Invalid unit (\"%c\")! Please use \"m\" for meter or \"f\" for feet.\n", *unit);
+ }
+ }
+ else {
+ addf = 0.0;
+ }
+}
+
+
+static void
+height_process(void) /* this procedure must be present in vecs */
+{
+ waypt_disp_all(correct_height);
+ route_disp_all(NULL, NULL, correct_height);
+ track_disp_all(NULL, NULL, correct_height);
+}
+
+
+filter_vecs_t height_vecs = {
+ height_init,
+ height_process,
+ NULL,
+ NULL,
+ height_args
+};
+
+
+#endif // FILTERS_ENABLED
RelativePath="..\gtrnctr.c"
>
</File>
+ <File
+ RelativePath="..\height.c"
+ >
+ </File>
<File
RelativePath="..\hiketech.c"
>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="50.827089869" minlon="6.222871869" maxlat="50.865717758" maxlon="6.245795987"/>
+<trk>
+ <desc>Log every 10 sec, 0 m, 0 km/h</desc>
+<trkseg>
+<trkpt lat="50.865717758" lon="6.222871869">
+ <ele>195.780899</ele>
+<time>2008-07-29T06:53:26Z</time>
+ <course>161.293961</course>
+ <speed>0.023978</speed>
+ <name>TP0110</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.020000</hdop>
+ <vdop>0.880000</vdop>
+ <pdop>1.350000</pdop>
+</trkpt>
+<trkpt lat="50.865667798" lon="6.222886101">
+ <ele>195.678741</ele>
+<time>2008-07-29T06:53:36Z</time>
+ <course>164.263916</course>
+ <speed>5.327742</speed>
+ <name>TP0111</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>1.480000</vdop>
+ <pdop>1.740000</pdop>
+</trkpt>
+<trkpt lat="50.864863215" lon="6.223279763">
+ <ele>196.897476</ele>
+<time>2008-07-29T06:53:46Z</time>
+ <course>162.088165</course>
+ <speed>11.843518</speed>
+ <name>TP0112</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.380000</vdop>
+ <pdop>1.650000</pdop>
+</trkpt>
+<trkpt lat="50.863556656" lon="6.224139074">
+ <ele>195.390579</ele>
+<time>2008-07-29T06:53:56Z</time>
+ <course>153.299805</course>
+ <speed>18.403793</speed>
+ <name>TP0113</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.260000</hdop>
+ <vdop>2.090000</vdop>
+ <pdop>2.440000</pdop>
+</trkpt>
+<trkpt lat="50.862044835" lon="6.225447079">
+ <ele>196.039886</ele>
+<time>2008-07-29T06:54:06Z</time>
+ <course>151.212051</course>
+ <speed>19.475996</speed>
+ <name>TP0114</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>1.480000</vdop>
+ <pdop>1.750000</pdop>
+</trkpt>
+<trkpt lat="50.860492114" lon="6.226932932">
+ <ele>195.953262</ele>
+<time>2008-07-29T06:54:16Z</time>
+ <course>146.928894</course>
+ <speed>19.539358</speed>
+ <name>TP0115</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.880000</vdop>
+ <pdop>2.160000</pdop>
+</trkpt>
+<trkpt lat="50.859037371" lon="6.228467480">
+ <ele>196.389969</ele>
+<time>2008-07-29T06:54:26Z</time>
+ <course>146.199387</course>
+ <speed>19.320868</speed>
+ <name>TP0116</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.390000</hdop>
+ <vdop>2.240000</vdop>
+ <pdop>2.640000</pdop>
+</trkpt>
+<trkpt lat="50.857541310" lon="6.230045411">
+ <ele>196.359695</ele>
+<time>2008-07-29T06:54:36Z</time>
+ <course>146.045898</course>
+ <speed>19.448168</speed>
+ <name>TP0117</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.300000</hdop>
+ <vdop>2.030000</vdop>
+ <pdop>2.410000</pdop>
+</trkpt>
+<trkpt lat="50.856043127" lon="6.231628001">
+ <ele>196.074524</ele>
+<time>2008-07-29T06:54:46Z</time>
+ <course>146.341537</course>
+ <speed>19.894892</speed>
+ <name>TP0118</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.390000</hdop>
+ <vdop>2.240000</vdop>
+ <pdop>2.640000</pdop>
+</trkpt>
+<trkpt lat="50.854634087" lon="6.233121896">
+ <ele>197.843628</ele>
+<time>2008-07-29T06:54:56Z</time>
+ <course>145.704956</course>
+ <speed>16.669222</speed>
+ <name>TP0119</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.550000</vdop>
+ <pdop>1.880000</pdop>
+</trkpt>
+<trkpt lat="50.853565422" lon="6.234249097">
+ <ele>202.286789</ele>
+<time>2008-07-29T06:55:06Z</time>
+ <course>146.005951</course>
+ <speed>13.027266</speed>
+ <name>TP0120</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.400000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.853023686" lon="6.234809142">
+ <ele>202.414261</ele>
+<time>2008-07-29T06:55:16Z</time>
+ <course>146.901215</course>
+ <speed>1.206095</speed>
+ <name>TP0121</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.840000</hdop>
+ <vdop>0.810000</vdop>
+ <pdop>1.170000</pdop>
+</trkpt>
+<trkpt lat="50.853011126" lon="6.234822841">
+ <ele>203.334824</ele>
+<time>2008-07-29T06:55:26Z</time>
+ <course>138.959549</course>
+ <speed>0.011050</speed>
+ <name>TP0122</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>0.820000</vdop>
+ <pdop>1.240000</pdop>
+</trkpt>
+<trkpt lat="50.852688877" lon="6.235152203">
+ <ele>206.549713</ele>
+<time>2008-07-29T06:55:36Z</time>
+ <course>146.013168</course>
+ <speed>9.511775</speed>
+ <name>TP0123</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.851764779" lon="6.236133821">
+ <ele>208.111160</ele>
+<time>2008-07-29T06:55:46Z</time>
+ <course>145.465225</course>
+ <speed>15.709099</speed>
+ <name>TP0124</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.850516850" lon="6.237476287">
+ <ele>208.874451</ele>
+<time>2008-07-29T06:55:56Z</time>
+ <course>146.075500</course>
+ <speed>18.512190</speed>
+ <name>TP0125</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.849101390" lon="6.238963837">
+ <ele>210.970779</ele>
+<time>2008-07-29T06:56:06Z</time>
+ <course>146.079727</course>
+ <speed>18.825529</speed>
+ <name>TP0126</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.847635472" lon="6.240531138">
+ <ele>215.003540</ele>
+<time>2008-07-29T06:56:16Z</time>
+ <course>146.143692</course>
+ <speed>20.144392</speed>
+ <name>TP0127</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.990000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.730000</pdop>
+</trkpt>
+<trkpt lat="50.846080463" lon="6.242129629">
+ <ele>217.159836</ele>
+<time>2008-07-29T06:56:26Z</time>
+ <course>147.831940</course>
+ <speed>20.504822</speed>
+ <name>TP0128</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.844480339" lon="6.243585047">
+ <ele>214.226456</ele>
+<time>2008-07-29T06:56:36Z</time>
+ <course>153.660782</course>
+ <speed>20.871927</speed>
+ <name>TP0129</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.940000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.842739349" lon="6.244716892">
+ <ele>212.094818</ele>
+<time>2008-07-29T06:56:46Z</time>
+ <course>162.121063</course>
+ <speed>20.861839</speed>
+ <name>TP0130</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.690000</pdop>
+</trkpt>
+<trkpt lat="50.840971871" lon="6.245452870">
+ <ele>211.116760</ele>
+<time>2008-07-29T06:56:56Z</time>
+ <course>169.502975</course>
+ <speed>19.669909</speed>
+ <name>TP0131</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>1.600000</vdop>
+ <pdop>1.960000</pdop>
+</trkpt>
+<trkpt lat="50.839297511" lon="6.245762047">
+ <ele>209.528275</ele>
+<time>2008-07-29T06:57:06Z</time>
+ <course>176.329559</course>
+ <speed>17.733749</speed>
+ <name>TP0132</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.837920715" lon="6.245795987">
+ <ele>209.119659</ele>
+<time>2008-07-29T06:57:16Z</time>
+ <course>180.751617</course>
+ <speed>12.216647</speed>
+ <name>TP0133</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.837218585" lon="6.245763805">
+ <ele>209.183655</ele>
+<time>2008-07-29T06:57:26Z</time>
+ <course>180.543655</course>
+ <speed>3.888501</speed>
+ <name>TP0134</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.836823991" lon="6.245769759">
+ <ele>209.345215</ele>
+<time>2008-07-29T06:57:36Z</time>
+ <course>181.453415</course>
+ <speed>7.413952</speed>
+ <name>TP0135</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.430000</vdop>
+ <pdop>1.700000</pdop>
+</trkpt>
+<trkpt lat="50.835798748" lon="6.245745388">
+ <ele>209.575470</ele>
+<time>2008-07-29T06:57:46Z</time>
+ <course>180.527542</course>
+ <speed>14.646052</speed>
+ <name>TP0136</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.834379309" lon="6.245734786">
+ <ele>209.706360</ele>
+<time>2008-07-29T06:57:56Z</time>
+ <course>180.994965</course>
+ <speed>17.144146</speed>
+ <name>TP0137</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.832781065" lon="6.245684290">
+ <ele>210.981903</ele>
+<time>2008-07-29T06:58:06Z</time>
+ <course>180.547180</course>
+ <speed>17.879311</speed>
+ <name>TP0138</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.540000</vdop>
+ <pdop>1.810000</pdop>
+</trkpt>
+<trkpt lat="50.831213506" lon="6.245643131">
+ <ele>213.639923</ele>
+<time>2008-07-29T06:58:16Z</time>
+ <course>181.557831</course>
+ <speed>17.341228</speed>
+ <name>TP0139</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.540000</vdop>
+ <pdop>1.810000</pdop>
+</trkpt>
+<trkpt lat="50.829728949" lon="6.245609101">
+ <ele>214.042358</ele>
+<time>2008-07-29T06:58:26Z</time>
+ <course>181.223846</course>
+ <speed>15.520967</speed>
+ <name>TP0140</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.940000</vdop>
+ <pdop>2.210000</pdop>
+</trkpt>
+<trkpt lat="50.828598302" lon="6.245579941">
+ <ele>206.812027</ele>
+<time>2008-07-29T06:58:36Z</time>
+ <course>181.608673</course>
+ <speed>8.122931</speed>
+ <name>TP0141</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.950000</vdop>
+ <pdop>2.210000</pdop>
+</trkpt>
+<trkpt lat="50.828335995" lon="6.245583984">
+ <ele>203.424423</ele>
+<time>2008-07-29T06:58:46Z</time>
+ <course>173.229111</course>
+ <speed>0.455293</speed>
+ <name>TP0142</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.910000</hdop>
+ <vdop>0.840000</vdop>
+ <pdop>1.240000</pdop>
+</trkpt>
+<trkpt lat="50.828315071" lon="6.245585815">
+ <ele>202.360809</ele>
+<time>2008-07-29T06:58:56Z</time>
+ <course>181.487564</course>
+ <speed>0.070300</speed>
+ <name>TP0143</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.260000</hdop>
+ <vdop>0.920000</vdop>
+ <pdop>1.560000</pdop>
+</trkpt>
+<trkpt lat="50.828313011" lon="6.245585648">
+ <ele>202.515137</ele>
+<time>2008-07-29T06:59:06Z</time>
+ <course>268.758911</course>
+ <speed>0.038898</speed>
+ <name>TP0144</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.020000</hdop>
+ <vdop>0.890000</vdop>
+ <pdop>1.350000</pdop>
+</trkpt>
+<trkpt lat="50.828084072" lon="6.245542982">
+ <ele>203.537628</ele>
+<time>2008-07-29T06:59:16Z</time>
+ <course>185.460052</course>
+ <speed>7.315135</speed>
+ <name>TP0145</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.960000</vdop>
+ <pdop>2.220000</pdop>
+</trkpt>
+<trkpt lat="50.827525636" lon="6.245578224">
+ <ele>201.630936</ele>
+<time>2008-07-29T06:59:26Z</time>
+ <course>174.653168</course>
+ <speed>0.382723</speed>
+ <name>TP0146</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>0.850000</vdop>
+ <pdop>1.430000</pdop>
+</trkpt>
+<trkpt lat="50.827517528" lon="6.245592697">
+ <ele>202.598358</ele>
+<time>2008-07-29T06:59:36Z</time>
+ <course>174.010529</course>
+ <speed>0.048324</speed>
+ <name>TP0147</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.610000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827518490" lon="6.245591882">
+ <ele>202.834427</ele>
+<time>2008-07-29T06:59:46Z</time>
+ <course>330.416962</course>
+ <speed>0.042397</speed>
+ <name>TP0148</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827517619" lon="6.245591501">
+ <ele>203.029007</ele>
+<time>2008-07-29T06:59:56Z</time>
+ <course>330.416962</course>
+ <speed>0.003231</speed>
+ <name>TP0149</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827517312" lon="6.245590729">
+ <ele>203.197311</ele>
+<time>2008-07-29T07:00:06Z</time>
+ <course>330.416962</course>
+ <speed>0.000434</speed>
+ <name>TP0150</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827516711" lon="6.245589700">
+ <ele>203.374374</ele>
+<time>2008-07-29T07:00:16Z</time>
+ <course>200.356400</course>
+ <speed>0.169673</speed>
+ <name>TP0151</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827117198" lon="6.245624383">
+ <ele>203.469315</ele>
+<time>2008-07-29T07:00:26Z</time>
+ <course>173.281235</course>
+ <speed>2.458185</speed>
+ <name>TP0152</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+<trkpt lat="50.827089869" lon="6.245617902">
+ <ele>205.763046</ele>
+<time>2008-07-29T07:00:36Z</time>
+ <course>172.024109</course>
+ <speed>0.011256</speed>
+ <name>TP0153</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>0.850000</vdop>
+ <pdop>1.430000</pdop>
+</trkpt>
+<trkpt lat="50.827090094" lon="6.245617582">
+ <ele>205.838577</ele>
+<time>2008-07-29T07:00:46Z</time>
+ <course>172.024109</course>
+ <speed>0.001248</speed>
+ <name>TP0154</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+<trkpt lat="50.827090427" lon="6.245617316">
+ <ele>205.928421</ele>
+<time>2008-07-29T07:00:56Z</time>
+ <course>172.024109</course>
+ <speed>0.002104</speed>
+ <name>TP0155</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+</trkseg>
+</trk>
+</gpx>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="50.827089869" minlon="6.222871869" maxlat="50.865717758" maxlon="6.245795987"/>
+<trk>
+ <desc>Log every 10 sec, 0 m, 0 km/h</desc>
+<trkseg>
+<trkpt lat="50.865717758" lon="6.222871869">
+ <ele>248.535719</ele>
+<time>2008-07-29T06:53:26Z</time>
+ <course>161.293961</course>
+ <speed>0.023978</speed>
+ <name>TP0110</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.020000</hdop>
+ <vdop>0.880000</vdop>
+ <pdop>1.350000</pdop>
+</trkpt>
+<trkpt lat="50.865667798" lon="6.222886101">
+ <ele>248.433539</ele>
+<time>2008-07-29T06:53:36Z</time>
+ <course>164.263916</course>
+ <speed>5.327742</speed>
+ <name>TP0111</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>1.480000</vdop>
+ <pdop>1.740000</pdop>
+</trkpt>
+<trkpt lat="50.864863215" lon="6.223279763">
+ <ele>249.651908</ele>
+<time>2008-07-29T06:53:46Z</time>
+ <course>162.088165</course>
+ <speed>11.843518</speed>
+ <name>TP0112</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.380000</vdop>
+ <pdop>1.650000</pdop>
+</trkpt>
+<trkpt lat="50.863556656" lon="6.224139074">
+ <ele>248.144408</ele>
+<time>2008-07-29T06:53:56Z</time>
+ <course>153.299805</course>
+ <speed>18.403793</speed>
+ <name>TP0113</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.260000</hdop>
+ <vdop>2.090000</vdop>
+ <pdop>2.440000</pdop>
+</trkpt>
+<trkpt lat="50.862044835" lon="6.225447079">
+ <ele>248.793004</ele>
+<time>2008-07-29T06:54:06Z</time>
+ <course>151.212051</course>
+ <speed>19.475996</speed>
+ <name>TP0114</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>1.480000</vdop>
+ <pdop>1.750000</pdop>
+</trkpt>
+<trkpt lat="50.860492114" lon="6.226932932">
+ <ele>248.705645</ele>
+<time>2008-07-29T06:54:16Z</time>
+ <course>146.928894</course>
+ <speed>19.539358</speed>
+ <name>TP0115</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.880000</vdop>
+ <pdop>2.160000</pdop>
+</trkpt>
+<trkpt lat="50.859037371" lon="6.228467480">
+ <ele>249.141656</ele>
+<time>2008-07-29T06:54:26Z</time>
+ <course>146.199387</course>
+ <speed>19.320868</speed>
+ <name>TP0116</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.390000</hdop>
+ <vdop>2.240000</vdop>
+ <pdop>2.640000</pdop>
+</trkpt>
+<trkpt lat="50.857541310" lon="6.230045411">
+ <ele>249.110667</ele>
+<time>2008-07-29T06:54:36Z</time>
+ <course>146.045898</course>
+ <speed>19.448168</speed>
+ <name>TP0117</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.300000</hdop>
+ <vdop>2.030000</vdop>
+ <pdop>2.410000</pdop>
+</trkpt>
+<trkpt lat="50.856043127" lon="6.231628001">
+ <ele>248.824779</ele>
+<time>2008-07-29T06:54:46Z</time>
+ <course>146.341537</course>
+ <speed>19.894892</speed>
+ <name>TP0118</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.390000</hdop>
+ <vdop>2.240000</vdop>
+ <pdop>2.640000</pdop>
+</trkpt>
+<trkpt lat="50.854634087" lon="6.233121896">
+ <ele>250.593209</ele>
+<time>2008-07-29T06:54:56Z</time>
+ <course>145.704956</course>
+ <speed>16.669222</speed>
+ <name>TP0119</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.550000</vdop>
+ <pdop>1.880000</pdop>
+</trkpt>
+<trkpt lat="50.853565422" lon="6.234249097">
+ <ele>255.035858</ele>
+<time>2008-07-29T06:55:06Z</time>
+ <course>146.005951</course>
+ <speed>13.027266</speed>
+ <name>TP0120</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.400000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.853023686" lon="6.234809142">
+ <ele>255.163071</ele>
+<time>2008-07-29T06:55:16Z</time>
+ <course>146.901215</course>
+ <speed>1.206095</speed>
+ <name>TP0121</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.840000</hdop>
+ <vdop>0.810000</vdop>
+ <pdop>1.170000</pdop>
+</trkpt>
+<trkpt lat="50.853011126" lon="6.234822841">
+ <ele>256.083628</ele>
+<time>2008-07-29T06:55:26Z</time>
+ <course>138.959549</course>
+ <speed>0.011050</speed>
+ <name>TP0122</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.930000</hdop>
+ <vdop>0.820000</vdop>
+ <pdop>1.240000</pdop>
+</trkpt>
+<trkpt lat="50.852688877" lon="6.235152203">
+ <ele>259.298363</ele>
+<time>2008-07-29T06:55:36Z</time>
+ <course>146.013168</course>
+ <speed>9.511775</speed>
+ <name>TP0123</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.851764779" lon="6.236133821">
+ <ele>260.859367</ele>
+<time>2008-07-29T06:55:46Z</time>
+ <course>145.465225</course>
+ <speed>15.709099</speed>
+ <name>TP0124</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.670000</pdop>
+</trkpt>
+<trkpt lat="50.850516850" lon="6.237476287">
+ <ele>261.622059</ele>
+<time>2008-07-29T06:55:56Z</time>
+ <course>146.075500</course>
+ <speed>18.512190</speed>
+ <name>TP0125</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.900000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.849101390" lon="6.238963837">
+ <ele>263.717709</ele>
+<time>2008-07-29T06:56:06Z</time>
+ <course>146.079727</course>
+ <speed>18.825529</speed>
+ <name>TP0126</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.410000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.847635472" lon="6.240531138">
+ <ele>267.749766</ele>
+<time>2008-07-29T06:56:16Z</time>
+ <course>146.143692</course>
+ <speed>20.144392</speed>
+ <name>TP0127</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.990000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.730000</pdop>
+</trkpt>
+<trkpt lat="50.846080463" lon="6.242129629">
+ <ele>269.905317</ele>
+<time>2008-07-29T06:56:26Z</time>
+ <course>147.831940</course>
+ <speed>20.504822</speed>
+ <name>TP0128</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.680000</pdop>
+</trkpt>
+<trkpt lat="50.844480339" lon="6.243585047">
+ <ele>266.971178</ele>
+<time>2008-07-29T06:56:36Z</time>
+ <course>153.660782</course>
+ <speed>20.871927</speed>
+ <name>TP0129</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.940000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.842739349" lon="6.244716892">
+ <ele>264.838733</ele>
+<time>2008-07-29T06:56:46Z</time>
+ <course>162.121063</course>
+ <speed>20.861839</speed>
+ <name>TP0130</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.420000</vdop>
+ <pdop>1.690000</pdop>
+</trkpt>
+<trkpt lat="50.840971871" lon="6.245452870">
+ <ele>263.859872</ele>
+<time>2008-07-29T06:56:56Z</time>
+ <course>169.502975</course>
+ <speed>19.669909</speed>
+ <name>TP0131</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>1.600000</vdop>
+ <pdop>1.960000</pdop>
+</trkpt>
+<trkpt lat="50.839297511" lon="6.245762047">
+ <ele>262.270642</ele>
+<time>2008-07-29T06:57:06Z</time>
+ <course>176.329559</course>
+ <speed>17.733749</speed>
+ <name>TP0132</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.837920715" lon="6.245795987">
+ <ele>261.861423</ele>
+<time>2008-07-29T06:57:16Z</time>
+ <course>180.751617</course>
+ <speed>12.216647</speed>
+ <name>TP0133</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.520000</vdop>
+ <pdop>1.790000</pdop>
+</trkpt>
+<trkpt lat="50.837218585" lon="6.245763805">
+ <ele>261.925113</ele>
+<time>2008-07-29T06:57:26Z</time>
+ <course>180.543655</course>
+ <speed>3.888501</speed>
+ <name>TP0134</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.836823991" lon="6.245769759">
+ <ele>262.086501</ele>
+<time>2008-07-29T06:57:36Z</time>
+ <course>181.453415</course>
+ <speed>7.413952</speed>
+ <name>TP0135</name>
+ <fix>3d</fix>
+ <sat>11</sat>
+ <hdop>0.910000</hdop>
+ <vdop>1.430000</vdop>
+ <pdop>1.700000</pdop>
+</trkpt>
+<trkpt lat="50.835798748" lon="6.245745388">
+ <ele>262.316308</ele>
+<time>2008-07-29T06:57:46Z</time>
+ <course>180.527542</course>
+ <speed>14.646052</speed>
+ <name>TP0136</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.834379309" lon="6.245734786">
+ <ele>262.446578</ele>
+<time>2008-07-29T06:57:56Z</time>
+ <course>180.994965</course>
+ <speed>17.144146</speed>
+ <name>TP0137</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.530000</vdop>
+ <pdop>1.800000</pdop>
+</trkpt>
+<trkpt lat="50.832781065" lon="6.245684290">
+ <ele>263.721425</ele>
+<time>2008-07-29T06:58:06Z</time>
+ <course>180.547180</course>
+ <speed>17.879311</speed>
+ <name>TP0138</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.540000</vdop>
+ <pdop>1.810000</pdop>
+</trkpt>
+<trkpt lat="50.831213506" lon="6.245643131">
+ <ele>266.378761</ele>
+<time>2008-07-29T06:58:16Z</time>
+ <course>181.557831</course>
+ <speed>17.341228</speed>
+ <name>TP0139</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.950000</hdop>
+ <vdop>1.540000</vdop>
+ <pdop>1.810000</pdop>
+</trkpt>
+<trkpt lat="50.829728949" lon="6.245609101">
+ <ele>266.780548</ele>
+<time>2008-07-29T06:58:26Z</time>
+ <course>181.223846</course>
+ <speed>15.520967</speed>
+ <name>TP0140</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.940000</vdop>
+ <pdop>2.210000</pdop>
+</trkpt>
+<trkpt lat="50.828598302" lon="6.245579941">
+ <ele>259.549724</ele>
+<time>2008-07-29T06:58:36Z</time>
+ <course>181.608673</course>
+ <speed>8.122931</speed>
+ <name>TP0141</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.950000</vdop>
+ <pdop>2.210000</pdop>
+</trkpt>
+<trkpt lat="50.828335995" lon="6.245583984">
+ <ele>256.162006</ele>
+<time>2008-07-29T06:58:46Z</time>
+ <course>173.229111</course>
+ <speed>0.455293</speed>
+ <name>TP0142</name>
+ <fix>3d</fix>
+ <sat>10</sat>
+ <hdop>0.910000</hdop>
+ <vdop>0.840000</vdop>
+ <pdop>1.240000</pdop>
+</trkpt>
+<trkpt lat="50.828315071" lon="6.245585815">
+ <ele>255.098382</ele>
+<time>2008-07-29T06:58:56Z</time>
+ <course>181.487564</course>
+ <speed>0.070300</speed>
+ <name>TP0143</name>
+ <fix>3d</fix>
+ <sat>8</sat>
+ <hdop>1.260000</hdop>
+ <vdop>0.920000</vdop>
+ <pdop>1.560000</pdop>
+</trkpt>
+<trkpt lat="50.828313011" lon="6.245585648">
+ <ele>255.252709</ele>
+<time>2008-07-29T06:59:06Z</time>
+ <course>268.758911</course>
+ <speed>0.038898</speed>
+ <name>TP0144</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.020000</hdop>
+ <vdop>0.890000</vdop>
+ <pdop>1.350000</pdop>
+</trkpt>
+<trkpt lat="50.828084072" lon="6.245542982">
+ <ele>256.275102</ele>
+<time>2008-07-29T06:59:16Z</time>
+ <course>185.460052</course>
+ <speed>7.315135</speed>
+ <name>TP0145</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.060000</hdop>
+ <vdop>1.960000</vdop>
+ <pdop>2.220000</pdop>
+</trkpt>
+<trkpt lat="50.827525636" lon="6.245578224">
+ <ele>254.368165</ele>
+<time>2008-07-29T06:59:26Z</time>
+ <course>174.653168</course>
+ <speed>0.382723</speed>
+ <name>TP0146</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>0.850000</vdop>
+ <pdop>1.430000</pdop>
+</trkpt>
+<trkpt lat="50.827517528" lon="6.245592697">
+ <ele>255.335582</ele>
+<time>2008-07-29T06:59:36Z</time>
+ <course>174.010529</course>
+ <speed>0.048324</speed>
+ <name>TP0147</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.610000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827518490" lon="6.245591882">
+ <ele>255.571652</ele>
+<time>2008-07-29T06:59:46Z</time>
+ <course>330.416962</course>
+ <speed>0.042397</speed>
+ <name>TP0148</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827517619" lon="6.245591501">
+ <ele>255.766231</ele>
+<time>2008-07-29T06:59:56Z</time>
+ <course>330.416962</course>
+ <speed>0.003231</speed>
+ <name>TP0149</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.160000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827517312" lon="6.245590729">
+ <ele>255.934535</ele>
+<time>2008-07-29T07:00:06Z</time>
+ <course>330.416962</course>
+ <speed>0.000434</speed>
+ <name>TP0150</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827516711" lon="6.245589700">
+ <ele>256.111598</ele>
+<time>2008-07-29T07:00:16Z</time>
+ <course>200.356400</course>
+ <speed>0.169673</speed>
+ <name>TP0151</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>1.990000</pdop>
+</trkpt>
+<trkpt lat="50.827117198" lon="6.245624383">
+ <ele>256.206363</ele>
+<time>2008-07-29T07:00:26Z</time>
+ <course>173.281235</course>
+ <speed>2.458185</speed>
+ <name>TP0152</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+<trkpt lat="50.827089869" lon="6.245617902">
+ <ele>258.500082</ele>
+<time>2008-07-29T07:00:36Z</time>
+ <course>172.024109</course>
+ <speed>0.011256</speed>
+ <name>TP0153</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.150000</hdop>
+ <vdop>0.850000</vdop>
+ <pdop>1.430000</pdop>
+</trkpt>
+<trkpt lat="50.827090094" lon="6.245617582">
+ <ele>258.575613</ele>
+<time>2008-07-29T07:00:46Z</time>
+ <course>172.024109</course>
+ <speed>0.001248</speed>
+ <name>TP0154</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+<trkpt lat="50.827090427" lon="6.245617316">
+ <ele>258.665458</ele>
+<time>2008-07-29T07:00:56Z</time>
+ <course>172.024109</course>
+ <speed>0.002104</speed>
+ <name>TP0155</name>
+ <fix>3d</fix>
+ <sat>9</sat>
+ <hdop>1.170000</hdop>
+ <vdop>1.620000</vdop>
+ <pdop>2.000000</pdop>
+</trkpt>
+</trkseg>
+</trk>
+</gpx>
compare ${TMPDIR}/${GoPalName}.tst2 ${TMPDIR}/${GoPalName}.tst3
+#
+# Height filter
+#
+rm -f ${TMPDIR}/height_out.gpx
+${PNAME} -i gpx -f ${REFERENCE}/track/height.gpx \
+ -x height,wgs84tomsl,add=100m \
+ -o gpx -F ${TMPDIR}/height_out.gpx
+compare ${TMPDIR}/height_out.gpx ${REFERENCE}/track/height_out.gpx
+
exit 0
--- /dev/null
+<para>
+The height filter allows the correction of altitude values.
+
+At least one popular gps logger does store the ellipsoidal height (sum of the height above mean see level and the height of the geoid above the WGS84 ellipsoid) instead of the height above sea level, as it can be found on maps.
+
+The height filter allows for the correction of these altitude values. This filter supports two options:
+
+<option>wgs84tomsl</option> and <option>add</option>.
+At least one of these options is required, both can be combined.
+</para>
+<example id="height_wgs84tomsl">
+ <title> This option subtracts the WGS84 geoid height from every altitude. For GPS receivers like the iBlue747 the result is the height above mean see level.</title>
+ <para><userinput> gpsbabel -i gpx -f in.gpx -x height,wgs84tomsl -o gpx -F out.gpx</userinput></para>
+ <para>The coordinates and altitude vales must be based an the WGS84 ellipsoid for this option to produce sensible results</para>
+</example>
+<example id="height_add">
+ <title> This options adds a constant value to every altitude.</title>
+ <para><userinput> gpsbabel -i gpx -f in.gpx -x height,add=10.2f -o gpx -F out.gpx</userinput></para>
+ <para>You can specify negative numbers to subtract the value. If no unit is specified meters are assumed. For feet you can attach an "f" to the value.</para>
+</example>
+
--- /dev/null
+<para>
+Adds a constant value to every altitude. You can specify negative numbers to subtract the value.
+</para>
+<para>
+If no unit is specified, meters (m) are assumed. You can override this by attaching a "f" for feet to the number.
+</para>
--- /dev/null
+<para>
+ Subtracts the WGS84 geoid height from every altitude.
+</para>
+<para>
+ For GPS receivers like the iBlue747, this corrects the logged altitudes to height above mean sea level.
+</para>